﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Xml.Linq;
using DataLayer.dbml;
using DataLayer.Controller;


public partial class internacional_DetailInternational : System.Web.UI.Page
{
    private const string SERVICIO = "busq1";
    private const string PLATAFORMA = "busq2";
    private const string CASO = "busq3";
    private const string CASOBYTIPO = "busq4";



    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.hdnNit.Value = "899999115-00";
            string valor = Request.QueryString["valor"].ToString();
            string busqueda = Request.QueryString["busq"].ToString();

            switch (busqueda)
            { 
                case SERVICIO:
                    this.GetServiciosByEstado(valor);
                    break;
                case PLATAFORMA:
                    this.GetServiciosByPlataforma(valor);
                    break;
                case CASO:
                    this.GetCasoById(valor);
                    break;
                case CASOBYTIPO:
                    this.GetCasosByTipo(valor);
                    break;
            }

        }
    }

    private void GetServiciosByEstado(string valor)
    {
        DataTable dt = ServicesController.GetDetalleServiciosByEstado(this.hdnNit.Value, valor);
        this.grdDetalle.DataSource = dt;
        this.grdDetalle.DataBind();
    }

    private void GetServiciosByPlataforma(string valor)
    {
        DataTable dt = ServicesController.GetDetalleServiciosByPlataforma(this.hdnNit.Value, valor);
        this.grdDetalle.DataSource = dt;
        this.grdDetalle.DataBind();
    }

    private void GetCasoById(string valor)
    {
        DataTable dt = CaseController.GetCasoById(valor);
        this.grdDetalle.DataSource = dt;
        this.grdDetalle.DataBind();

    }

    private void GetCasosByTipo(string valor)
    {
        //Se averigua si el nit es de cuenta o de cliente final
        string[] arrCuenta = AccountController.GetIdCuenta(this.hdnNit.Value);

        //Se obtienen los datos dependiendo de si es cuenta o cliente final
        DataTable dt = new DataTable();
        if (arrCuenta[0].Equals("CUENTA"))
            dt = CaseController.GetDetalleCasosAbiertosByTipoByCuenta(arrCuenta[1], valor);
        else
            dt = CaseController.GetDetalleCasosAbiertosByTipoByCliente(arrCuenta[1], valor);

        this.grdDetalle.DataSource = dt;
        this.grdDetalle.DataBind();

    }

}
